//package com.study.javaOther.net_security;
//
//import jpcap.JpcapCaptor;
//import jpcap.NetworkInterface;
//import jpcap.packet.IPPacket;
//import jpcap.packet.Packet;
//
//import java.io.IOException;
//
//public class IPTest {
//    public static void main(String[] args)
//    {
//        NetworkInterface[] devices = JpcapCaptor.getDeviceList();
//        System.out.println("打印设备列表");
//        for(NetworkInterface n : devices)
//        {
//            System.out.println("设备名："+n.name + "   描述：" + n.description);
//        }
//
//
//        JpcapCaptor jpcap = null;
//        int caplen = 1512;
//        boolean promiscCheck = true;
//
//        try{
//            jpcap = JpcapCaptor.openDevice(devices[1],caplen, promiscCheck,20);
//        }catch(IOException e)
//        {
//            e.printStackTrace();
//        }
//
//        int i = 0;
//        while(i < 10)
//        {
//            Packet packet  = jpcap.getPacket();
//            if(packet instanceof IPPacket && ((IPPacket)packet).version == 4)
//            {
//                i++;
//                IPPacket ip = (IPPacket)packet;//强转
//
//                System.out.println("版本：IPv4");
//                System.out.println("优先权：" + ip.priority);
//                System.out.println("区分服务：最大的吞吐量： " + ip.t_flag);
//                System.out.println("区分服务：最高的可靠性：" + ip.r_flag);
//                System.out.println("长度：" + ip.length);
//                System.out.println("标识：" + ip.ident);
//                System.out.println("DF:Don't Fragment: " + ip.dont_frag);
//                System.out.println("NF:Nore Fragment: " + ip.more_frag);
//                System.out.println("片偏移：" + ip.offset);
//                System.out.println("生存时间："+ ip.hop_limit);
//
//                String protocol ="";
//                switch(new Integer(ip.protocol))
//                {
//                    case 1:protocol = "ICMP";break;
//                    case 2:protocol = "IGMP";break;
//                    case 6:protocol = "TCP";break;
//                    case 8:protocol = "EGP";break;
//                    case 9:protocol = "IGP";break;
//                    case 17:protocol = "UDP";break;
//                    case 41:protocol = "IPv6";break;
//                    case 89:protocol = "OSPF";break;
//                    default : break;
//                }
//                System.out.println("协议：" + protocol);
//                System.out.println("源IP " + ip.src_ip.getHostAddress());
//                System.out.println("目的IP " + ip.dst_ip.getHostAddress());
//                System.out.println("源主机名： " + ip.src_ip);
//                System.out.println("目的主机名： " + ip.dst_ip);
//                System.out.println("----------------------------------------------");
//            }
//        }
//    }
//}
